This invention relates generally to object oriented processes and arrangements, and specifically to dispatch processes and arrangements in object oriented systems.
Object systems including object classes and object structures have been organized into processes able to execute on general purpose computers for some time. In such object systems, the objects are associated with selected methods. The methods themselves are executed in the context of the object with which they are installed, pursuant to receipt of a message by the particular object. Accordingly, when an object receives a message invoking a particular resident method, the object will act to execute the method. However, if the particular method called by the message is not resident in the object called or associated with the particular object, the message is, in the general case, not capable of fulfillment.
Fortunately, it is a characteristic of object oriented systems to inherit the characteristics as well as the methods of their associated classes. Accordingly, even though a method may not be present or available for execution directly in the context of a particular object, if its class contains reference to the particular method, the message may nonetheless be fulfilled by reliance upon the class level method. Thus, the method called is executed in reliance upon its presence within the class hierarchy of the called object. This kind of reference arrangement is nonetheless characterized by a range of difficulties in implementation, including operational delays and lack of speed.
Object oriented processes and architectures are additionally known to have employed dispatch tables as a containment structure for methods to be implemented in the context of particular objects with which the dispatch tables are associated. Such dispatch tables containing particular methods in association with selected object classes and object superclasses have been well-known.
In accordance with the invention, it is an object to provide an approach for associating selected methods in a dispatch table of a class or superclass with a selected object instance belonging to the class or superclass.
Additionally, it is an object of the invention to provide useful interconnection approaches for developing association schemes between object instances, their classes, and their superclasses to promote efficiency and flexibility in the creation of object relationships and their processing.
It is further an object of the invention to provide a mechanism for exploiting the availability of polymorphisms expressed in multiply expressing the same method in different ways at different levels of an object-oriented system, thereby giving the user run-time flexibility in the particular implementation of a selected method.